package com.coolingme.jdk;

/**
 * Integer中的享元模式
 *
 * @author wangyue
 * @date 2020-09-16 23:44
 */
public class IntegerTest {

    public static void main(String[] args) {
        /*
        源码规定在-128到127之前使用缓存
        public static Integer valueOf(int i) {
            if (i >= IntegerCache.low && i <= IntegerCache.high)
                return IntegerCache.cache[i + (-IntegerCache.low)];
            return new Integer(i);
        }
         */
        Integer a = Integer.valueOf(127);
        Integer b = 127;

        Integer c = Integer.valueOf(128);
        Integer d = 128;

        System.out.println(a == b); // true
        System.out.println(c == d); // false

    }

}
